This invention relates generally to machines and procedures for printing text or graphics on printing media such as paper, transparency stock, or other glossy media; and more particularly to a scanning thermal-inkjet machine and method that construct text or images from individual ink spots created on a printing medium, in a two-dimensional pixel array. The invention employs print-mode techniques to optimize image quality.
(a) Orientationxe2x80x94Printmasks are used to determine the pass number in which a halftone dot is formed by an inkjet on the paper. Modern inkjet printers have the capability to detect defective nozzles on-line. In order to compensate for the defective nozzle the printmask has to be redesigned, or at least modified.
Currently applied methods either redesign a printmask on-line, or replace the defective nozzle with a predetermined backup nozzle. Those methods compromise the quality of the printmask, either globally (in the former), or locally.
A final stage of the inkjet printing pipeline consists of determining the pass number in which inkdrops allocated by the halftoning stage will be laid on the paper. The goal is, usually, to make sure that neighboring dots are laid as distant on the time axis, as is made possible by the number of passes allocated to the print-mode.
One reason for this time separation is that nearby liquid inkdrops might coalesce, thereby creating pigment density fluctuations on the paper. If, on the other hand, by the time a dot is laid down all its previously laid neighbors are already dry, no coalescence occurs.
The pass-number allocation is technically achieved using an integer matrix of pass numbers, called xe2x80x9cprintmask,xe2x80x9d which is placed in a periodically repetitive manner on the halftone pattern (FIG. 4). This way, every halftone location corresponds to a pass number from the printmask. An inkdrop, if allocated by the halftoning stage, is laid down at the corresponding pass number.
Modern inkjet printers have on-line nozzle quality-checking capabilities. Having detected a defective nozzle a printer should relieve that nozzle from part of its duties, or simply stop using it at all.
All this may be done by redesigning or modifying the printmask. For every line in the printmask there is a mapping between pass numbers and nozzles. Thus forbidding a certain nozzle is achieved by prohibiting predetermined pass numbers in certain lines of the printmask.
The problem of compensating for damaged nozzles is thus transformed to a problem of designing new printmasks with the appropriate constraints. Since the number of nozzles is too large to save a different printmask optimized for the possibility that a each different nozzle may be damaged, the design has to be performed on-line on the printer. Factory-created printmask patterns are carefully designed to use the tradeoff between various technical and print-quality requirements, whose optimization of which is too complicated for an on-line routine. Nevertheless, fast alternatives with reasonably good quality have been used.
Three mask creations methods in use are the following.
1. Handmade masksxe2x80x94These allow very good control over placement of each drop, and also help with considering interactions between printheads in an easy way. The main drawback of handmade masks comes from the fact that they are very small, therefore tending when tiled throughout an image to produce banding or regular patterns.
Handmade masks also do not allow good management of nozzle usage. Any error-hiding policy that is attempted here requires some amount of hardcoded mask replacement.
2. Redesignxe2x80x94A new printmask is designed on-line. The time and hardware constraints dictate a suboptimal design, which reduces the overall quality of the printmask. Furthermore, this method is limited to printers with enough computation power to support it, and might require a noticeable time duration to be performed. In this method the burden of the damaged nozzle is partitioned equally between the available nozzles.
3. Backup Nozzlexe2x80x94Every nozzle has a backup nozzle. When a nozzle is damaged, its backup is activated. The printmask does not change, only the mapping between pass numbers and nozzles.
Thus, at the lines where the damaged nozzle was not employed, the print quality is not altered; however, at the damaged-nozzle locations, the application of a backup nozzle results usually in poor quality due to possible breaches of printmask design requirements. In addition, the double duty of the backup nozzle might shorten its life span. This procedure requires no significant computation.
(b) Automated and semiautomated generation of print-masksxe2x80x94Joan Manel Garcia-Reyero, in U.S. utility-patent applications Ser. No. 09/150,321 through ""323, has introduced a fundamental advance in printmask generation. His system and method express all needed considerations for use in preparing a maskxe2x80x94and test criteria as wellxe2x80x94in a generalized form and accordingly are able to produce at each attempt a usable mask of high quality.
In some circumstances, however, the Garcia approach in its purest form is subject to undesired limitations such as excessive time consumption for use in the field. It is accordingly susceptible to refinement for mitigation of these limitations.
Because Garcia""s invention in particular addresses issues of controlling the randomness (or granularity) of printmasks and resulting images, he dubbed it xe2x80x9cShakesxe2x80x9d. For brevity and convenience, this document too will refer to his invention by that nickname.
Nozzle weighting is a technique first described in Joan Manel Garcia-Reyero""s document about Shakes, consisting of specifying a certain percentage of usage per nozzle. That is, a single nozzle will not only be used or not, but the number of times it will appear in a mask description can be specified.
The interesting thing is that this nozzle weighting is also dependent on the printhead status in a given moment. Algorithms to determine this weighting have also been disclosed.
It was later discovered that they could easily support Variable Paper Advance Printmodes, Pass-Dependent Nozzle Weighting and Multilevel Printing. They also provide an easy way to install printmodes into the printer, even through the Internet.
(c) Classical Shakes with Nozzle Weightingxe2x80x94Shakes is a tool that automatically generates fuzzy masks, given a set of rules determined by the engineer that is designing the masks. Therefore, the designer must xe2x80x9cexplainxe2x80x9d to Shakes how he/she wants the mask, and let it do it.
The main advantage is that masks can be generated that are far larger than handmade ones, and noisy enough to build banding robustness. Nozzle weighting is much easier now, but it still requires a significant number of CPU cycles.
On the other hand, if the resulting mask is not good enough for the designer""s needs, the xe2x80x9cexplanationxe2x80x9d must be reformulated, which turns into a recursive process. The complexity of the process increases, as more regular masks are sought.
In summary, Shakes is optimal for masks that have a certain degree of randomness (i.e., the fuzzy masks), but there seems to be a discontinuity when trying to move to more regular masks.
The Shakes process allows Nozzle Weighting in two senses. One Nozzle-Weighting process is what is called xe2x80x9cListxe2x80x9d. This was already implemented inside a product (Shakesmall), but there was a very poor correlation between the input weight and the actual nozzle usage.
The other Nozzle-Weighting option offered by Shakes is called xe2x80x9cNozzDistxe2x80x9d. It requires two rounds of calculation for a given mask, the second round being much slower than the first one. This option was discarded for Shakesmall because the throughput hit was unacceptable.
(d) Encad Error Hiding Method Using a Backup Matrixxe2x80x94In this competitive system a different backup nozzle was used for each location. A basic drawback: it was for binary printing (only one drop per pixel) and only supported Error Hiding (a nozzle is either used or not).
A single nozzle, on a binary pipeline (that is, one drop per cell), is replaced (backed-up) by a plurality of nozzles, in such a way that the resulting mask still complies with boundary conditions. The context is twice binary: one single drop per cell, and all-or-none usage for any specific nozzle. (WO 99/08875: Inkjet Printer, Method and System Compensating for Non-Functional Print Elements).
(e) Requirements: multilevel printing; very specific nozzle usagexe2x80x94Masks currently used can handle one or various drops firing onto a single cell. Generally, two drops per 600-dpi cell are fired (this is conveniently called 2 dp6). Therefore two levels of mask are needed to start with, and more than this to handle backup information.
Functionality for hiding a nozzle is not good for a current product. Forbidding use of a nozzle could revert into not completing a mask, when several drops per cell are addressed. Besides, it is desirable to make ramps and print less with those nozzles that don""t perform very well (but still print!), or near which an air bubble has been detected.
(f) Conclusionxe2x80x94Thus failure to effectively address the difficult constraints of printmask generation by automated and semiautomated procedures has continued to impede achievement of uniformly excellent inkjet printing. Thus important aspects of the technology used in the field of the invention remain amenable to useful refinement.
The present invention introduces such refinement. The invention has several independent aspects or facets, certain of which are advantageously practiced together for best overall enjoyment of their benefits. These facets, however, are amenable to practice separately from one another and will accordingly be introduced separately below.
In preferred embodiments of a first of its major independent facets or aspects, the invention is a printmasking method for use in incremental printing. The method includes the step of establishing a printmask.
Another step is establishing a matrix of corresponding backup entries for values in the printmask; and another is determining when an individual value in the printmask is nonfunctional. Yet another step is individually replacing exclusively the individual determined nonfunctional value with exclusively a corresponding individual backup entry from the matrix.
The foregoing may represent a description or definition of the first aspect or facet of the invention in its broadest or most general form. Even as couched in these broad terms, however, it can be seen that this facet of the invention importantly advances the art. In particular, identifying in advance a particular backup entry for each matrix position, respectively, yields a benefit in terms of the ability to now optimize backup conditions.
Although the first major aspect of the invention thus significantly advances the art, nevertheless to optimize enjoyment of its benefits preferably the invention is practiced in conjunction with certain additional features or characteristics. In particular, if the method is for use with multiple printing elementsxe2x80x94each printing element being used in multiple locations of the printmaskxe2x80x94then preferably the matrix of backup entries provides a location-dependent backup for substantially each printing element. This preference is in effect an example of the above-mentioned opportunity to optimize the backup.
Another preference is that the two establishing steps be both performed offline, before the printer begins to print an image. In this case, preferably these two steps actually are both performed even before the printer is first placed in service.
Considered next are two alternative preferences. One of these is that the matrix-establishing step be substantially concurrent with, and interleaved with, the printmask-establishing stepxe2x80x94and that each matrix entry be selected substantially as a best alternative to its corresponding printmask entry. The other alternative preference is that the matrix-establishing step be performed after substantially the entire printmask-establishing step is complete.
Yet another preference is that the method further include the step of establishing a second backup matrix of further backup entries. In this case also the method also includes the step of determining when an individual value in the first-mentioned matrix is nonfunctional.
A third added step, as part of this same preference, is individually replacing exclusively the individual determined nonfunctional value of the first-mentioned matrix with exclusively a corresponding individual backup entry from the second backup matrix. This preference represents in effect a further set of fallback positions in case not only a primary matrix position but also its first line of defense fails.
In preferred embodiments of its second major independent facet or aspect, the invention is a printmasking method for use in incremental printing. The method includes the step of establishing a printmask in the form of a matrix of stacks of corresponding entries for positions in the printmask.
The method also includes the step of individually selecting an entry for substantially each position in the printmask, respectively. This is accomplished by choosing an individual entry from the corresponding stack in the matrix.
Another step is printing an image. This step is performed using the respective individually selected entry at substantially each position in the printmask.
The foregoing may represent a description or definition of the second aspect or facet of the invention in its broadest or most general form. Even as couched in these broad terms, however, it can be seen that this facet of the invention importantly advances the art.
In particular, this generalized formulation establishes the basis of a powerful analytical framework and methodology. This analytical framework is a more highly generalized and robust conceptualization than the above-described first main aspect of the invention, and as will shortly be seen enables in turn the achievement of several useful advances.
Although the second major aspect of the invention thus significantly advances the art, nevertheless to optimize enjoyment of its benefits preferably the invention is practiced in conjunction with certain additional features or characteristics. In particular, preferably the selecting step includes rotating entries in the stack for selection.
In this case, further preferably the selecting step includes (1) associating a respective individual printing element with each entry in each stack; (2) identifying with the associated printing element a respective numerical weight; and (3) applying to each entry in the stack a selection probability related to the identified numerical weight.
Several further preferences are applicable if these last-mentioned three elements are included in the selecting step. One of these is that the numerical weight for each element is influenced by the position of the element in a printing-medium advance sequence, or the number of a pass in which the element is to be fired. Another such preference is that any element initially rejected by virtue of the applied selection probability is shifted to the bottom of the stack in rotationxe2x80x94so that an initially rejected element can later rotate to the top of a stack for reconsideration. Yet a third such preference is that the method further include determining when an individual printing element is nonfunctional, assigning to that element a relatively low numerical weight, and applying to a corresponding value in a printmask stack a relatively low selection probability.
Reverting now to the second main aspect of the invention, another preference based directly on that aspect is that the method further include modifying the printmask to reflect firing-frequency limitations. In this case preferably the firing-frequency limitations carry a higher authority level than the numerical weights; in fact ideally the firing-frequency limitations are substantially absolute.
Still another preference directly based on the second aspect of the invention is that the establishing step take one of three possible forms: generating the mask on the fly for each image, generating the mask at the time of printer initialization, and storing the mask in nonvolatile memory for retrieval whenever needed. In this case, whenever the printer is to print, the mask is preferably generated or retrieved for use and then, before use, is processed by stack rotation at essentially each position.
In preferred embodiments of its third major independent facet or aspect, the invention is apparatus for use in incremental printing of an image. The apparatus includes some means defining a printmask.
For generality and breadth in discussing the invention, these means will be called simply the xe2x80x9cdefining meansxe2x80x9d. The printmask is defined in the form of a matrix of stacks of corresponding entries for positions in the printmask.
Also included are some means for rotating each stack if desired to individually select an entry for substantially each position in the printmask, respectively. For breadth and generality as before, these means will be called the xe2x80x9crotating meansxe2x80x9d.
The apparatus also includes some means for printing the image using selected entries. These means will be called the xe2x80x9cprinting meansxe2x80x9d.
The foregoing may represent a description or definition of the third aspect or facet of the invention in its broadest or most general form. Even as couched in these broad terms, however, it can be seen that this facet of the invention importantly advances the art.
In particular, this apparatus serves as an instrumentality for implementing the broad analytical-framework method of the second aspect discussed above. Although the third major aspect of the invention thus significantly advances the art, nevertheless to optimize enjoyment of its benefits preferably the invention is practiced in conjunction with certain additional features or characteristics. In particular the preferences noted above for the third facet of the invention are applicable here as well.
In preferred embodiments of its fourth major independent facet or aspect, the invention is a printmasking method for use in incremental printing. The method includes the step of establishing a printmask.
Another step is establishing a matrix of stacks of corresponding backup entries for values in the printmask. A further is determining when an individual value in the printmask is nonfunctional.
Yet another step of this novel method is individually replacing exclusively the individual determined nonfunctional value. That value is replaced with exclusively a corresponding individual backup entry from a corresponding stack in the matrix.
The foregoing may represent a description or definition of the fourth aspect or facet of the invention in its broadest or most general form. Even as couched in these broad terms, however, it can be seen that this facet of the invention importantly advances the art.
In particular, this fourth primary aspect of the invention is related to the second and third facetsxe2x80x94but here, rather than conceived in terms of initializing a printmask this related analytical core is applied directly to providing an entire robust family of failure-accommodating modes.
Although the fourth major aspect of the invention thus significantly advances the art, nevertheless to optimize enjoyment of its benefits preferably the invention is practiced in conjunction with certain additional features or characteristics. In particular, preferably the determining step determines that plural values in the printmask are nonfunctional, and the replacing step replaces those individual determined values with plural corresponding individual backup entries from plural corresponding stacks, respectively.
Another preference is that the replacing step include rotating entries in the stack for selection. Yet another preference, when multiple individual printing elements are in use, is that the replacing step includes the three substeps mentioned earlier as a preference for the first main aspect of the invention.
In preferred embodiments of its fifth major independent facet or aspect, the invention is a printmasking method for use in incremental printing. The method includes the step of establishing a seminal printmask.
Another step is tiling the established seminal printmask. This tiling step operates to create a larger printmask having closely related properties.
A third step of the method is forming a less-regular printmask by injecting noise into the larger printmask. This step disrupts regularity arising in the tiling step.
A fourth step of this method is using the less-regular printmask. It is used in incremental printing of an image.
The foregoing may represent a description or definition of the fifth aspect or facet of the invention in its broadest or most general form. Even as couched in these broad terms, however, it can be seen that this facet of the invention importantly advances the art.
In particular, this ingenious procedure very simply and elegantly develops, in the fieldxe2x80x94automatically and very quicklyxe2x80x94a quite large printmask. This mask nevertheless can be essentially free of the excessive regularity that has plagued many earlier procedures, sometimes manifesting itself for instance as bizarre, intrusive organ-like crawling shapes in midtone regions.
At the same time, as will be seen, the method need not necessarily result in a mask having excessive irregularity (with consequential overgraininess in printed images). Rather, the degree of randomness vs. determinism can be selectedxe2x80x94whether in product design, or manufacture, or later in the fieldxe2x80x94to obtain in essence any desired balance between image graininess and smoothness.
The fifth major aspect of the invention thus significantly advances the art. Nevertheless to optimize enjoyment of its benefits preferably the invention is practiced in conjunction with added features or characteristics.
In particular, preferably the using step comprises printing in a particular number of passes over some portion of the image; and the establishing step comprises preparation of a mask that is three-dimensional. Here the mask preparation includes forming a matrix of stacks of possible choices of pass number, each of the choices having an associated desired probability of use.
In this preference, the using step includes probabilistically evaluating each choice at a specified level in a stack, each choice being subject to rejection through said evaluating; and the using step also includes, if a choice at the specified level in a certain stack is rejected, shifting entries in the certain stack to bring a different choice to the specified level of the certain stack.
When this preference is in use, one secondary preference is that the shifting include displacing one entry in the stack in a particular direction and by a plural number of levels, and shifting at least some remaining entries in the stack to maintain the stack. Two particularly preferred ways of doing this are moving the one entry from the specified level to a different level, or moving the one entry to the specified level from a different level.
For example, as the specified level is most simply the top or bottom of the stack, the preferred forms of shifting particularly include moving the one entry from e.g. the top of the stack downward by some given number of levels, or moving the one entry to the top (or bottom) from some other identified level.
An alternative (or overlapping) basic preference is that the using step include printing in a particular number of passes over some portion of the imagexe2x80x94with the establishing step including preparation of a mask that is approximately cubical. Each side of the mask is a number of pixels or layers approximately equal to the particular number of passes.
In this case, as in the first basic preference discussed just above, a secondary preference is that the mask preparation include forming a matrix of stacks of possible choices of pass number. Each choice has an associated desired probability of use. The using step includes probabilistically evaluating each choice at a top of a stack, each choice being subject to rejection through such evaluating. If a choice in a certain stack is rejected, the using step also includes rotating the certain stack in a particular direction to bring a different choice to the top of the certain stack.
If the preference described in the previous paragraph is adopted, the noise-injecting step preferably includes rotating selected stacks in the larger printmask. In this case, moreover, preferably rotation of a certain stack in the same particular direction, starting from the position of the certain stack in the seminal printmask, tends to introduce greater randomness. Correspondingly, the selected-stack rotating step also preferably includes rotating at least some selected stacks in the opposite directionxe2x80x94so that the noise-injecting step tends to reduce, rather than increase, randomness. Preferably the xe2x80x9cparticular directionxe2x80x9d is upward, and the opposite direction downward.
Another preference, related to the fifth main aspect of the invention and for use with plural printheads, is that (1) the establishing step include defining a respective seminal printmask for each of the plural printheads, (2) the tiling step include tiling each respective seminal printmask to make a respective larger printmask for each of the plural printheads; and (3) the noise-injecting step include inserting noise into each of the respective larger printmasks. In this case preferably the noise-inserting includes inserting into all the respective larger printmasks noise that is substantially identical.
In this regard, however, the method need not operate rigidly. For instance, even if the respective-printmask defining includes replicating a single seminal printmask to form a respective seminal printmask for each of the plural printheads, the method may still preferably include modifying each respective seminal printmask to accommodate respective requirements of its printhead. Thus in this latter case the modifying preferably includes translating or rotating the respective seminal mask to allow for relative misalignments of the plural printheads.
Another sort of preference as to the fifth main aspect of the invention is that it further includexe2x80x94before the using stepxe2x80x94making of modifications to the less-regular printmask. These modifications are preferably based on nozzle weighting, or firing-frequency limitations, or parity.
All of the foregoing operational principles and advantages of the present invention will be more fully appreciated upon consideration of the following detailed description, with reference to the appended drawings, of which: